'use strict'

//操作文件模块
const fs = require('fs');
const path = require('path');
//负责与mongodb交互的模块
const mongodb = require('mongodb');

//获取登录页面
exports.getLoginPage = (req, res)=> {
    //异步读取数据
    fs.readFile(path.join(__dirname, '../views/login.html'), (err, content)=> {
        if (err) throw err;
        //设置请求头信息
        res.setHeader('Content-Type', 'text/html;charset = utf-8');
        //返回读取的文件内容
        res.end(content);
    })
}

/*
 处理登录逻辑思路:
 1. 获取用户名和密码;
 2. 查询数据库,是否存在匹配的数据,匹配则登录,不匹配则提示;
 */

//登录方法
exports.login = (req, res)=> {
    const params = req.body;

    //连接数据库
    const MongoClient = mongodb.MongoClient;

    //连接url
    const url = 'mongodb://localhost:27017/studentsystem';

    //使用connect方法连接到服务器
    MongoClient.connect(url, function (err, db) {
        if (err) {
            console.log(err);
            return;
        }
        //collection: 包含用于执行插入的连接
        //findOne: 返回符合条件的第一条记录
        //查询'account'数据类下符合条件的第一条数据
        db.collection('account').findOne(params, (err, doc)=> {
            res.setHeader("Content-Type", "text/html;charset=utf-8");
            if (doc == null) {
                res.end("<script>alert('用户名或密码失败');window.location.href='/account/login'</script>");
            } else {
                res.end("<script>window.location.href='/studentmanager/list'</script>")
            }
        })
    })
}























